package com.itheima.package2_memory_optical;
/*
JMM：可见性、原子性、
    可见性：一条线程对共享数据的修改，另一条线程能立即感知到数据的修改
        原因：
            1、堆内存是共享的，但是每条线程有自己的线程栈
            2、线程从堆内存中获取到数据，要在自己的线程栈中创建一个变量副本（缓存）
            3、使用数据时，优先使用缓存，什么时候去堆内存中获取最新数据，无法控制
            4、volatile关键字就强制其他线程立即获取最新数据
            5、synchronized ()同步代码块

 */
public class Demo1_Memory {
    public static void main(String[] args) {
        Girl g = new Girl();
        Boy b = new Boy();
        g.start();
        b.start();
    }
}
